      1  import java.util.LinkedList;

      2  import java.util.PriorityQueue;

      3  import java.util.Queue;

      4  import java.util.Stack;

      5

      6  /**

      7     This program demonstrates stacks, queues, and priority queues.

      8  */

      9  public class StackQueueDemo

     10  {

     11     public static void main(String[] args)

     12     {

     13        System.out.println("Stack: ");

     14        Stack<String> s = new Stack<String>();

     15        s.push("Tom");

     16        s.push("Diana");

     17        s.push("Harry");

     18        while (s.size() > 0) { System.out.println(s.pop()); }

     19

     20        System.out.println("Queue: ");

     21        Queue<String> q = new LinkedList<String>();

     22        q.add("Tom");

     23        q.add("Diana");

     24        q.add("Harry");

     25        while (q.size() > 0) { System.out.println(q.remove()); }

     26

     27        System.out.println("Priority Queue: ");

     28        PriorityQueue<String> pq = new PriorityQueue<String>();

     29        pq.add("Tom");

     30        pq.add("Diana");

     31        pq.add("Harry");

     32        while (pq.size() > 0) { System.out.println(pq.remove()); }

     33     }

     34  }